import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * La Clase Bomba la utilizan los enemigos para tratar de matar a spiderman
 * su objetivo es quitarle vidas a spiderman.
 * 
 * @author Jose Luis Sandoval Quintero
 * @version 5-Junio-2012
 */
public abstract class Bomba extends Actor
{
    protected int cont = 0; //contador que indica cuando debe hacer explocion la sbombas
    protected int t = Greenfoot.getRandomNumber( 150 );// numero aleatrio para saber cual es el rango de duracion de la bomba antes de explotar
    protected boolean band = false; 
       
    /**
     * Regresa true si se intersecto con spiderman
     * de lo contrario regresa false
     */
    public boolean pegoSpiderman()
    {
        boolean res = false;
        Actor s = getOneIntersectingObject( Spiderman.class );
        if( s != null )
            res = true;
        return res;
    }
    /**
     * Regresa a spiderman como actor
     */
    public Spiderman dameSpiderman()
    {
        Actor spiderman = getOneIntersectingObject( Spiderman.class );
        return (Spiderman)spiderman;
        
    }
    /**
     * Checa si se intersecto con spiderman para descontarle una vida
     */
    public void act()
    {
        cont++;
        if( this.pegoSpiderman() && !band )
        {
            SpidermanWorld mundo = (SpidermanWorld)getWorld();
            cont = t - 5;
            band = true;
            Spiderman spiderman = dameSpiderman();
            spiderman.setLocation( 82, 219 );
            mundo.cambiaNvidas( mundo.dameNvidas() - 1 );
            spiderman.cambialanzoTelarana( false );
            mundo.removeObjects( mundo.getObjects( Telarana.class ) );
        }
    }
    /**
     * Todas las bombas explotan pero lo hacen de forma distinta
     */
    public abstract void explota();
}
